package com.sxj.shop.service.impl;

import com.sxj.shop.constant.DictConstant;
import com.sxj.shop.dao.ProductDao;
import com.sxj.shop.entity.Product;
import com.sxj.shop.factory.ObjectFactory;
import com.sxj.shop.service.ProductService;
import com.sxj.shop.util.PageInfo;
import com.sxj.shop.util.ParameterUtil;

import java.util.List;

/**
 * @author 石小俊
 * @date 2023年12月2023/12/9日 16:19
 */
public class ProductServiceImpl implements ProductService {

    private ProductDao productDao = (ProductDao) ObjectFactory.getObject("productDao");

    @Override
    public List<Product> findAll() {
        return productDao.selectAll();
    }

    @Override
    public PageInfo<Product> findPage(String pageNo, String pageSize) {
        // 当请求中没有传递pageNo或者pageSize的值的时候
        // 设置默认值
        if(ParameterUtil.isNull(pageNo)){
            pageNo = DictConstant.PRODUCT_PAGE_DEFAULT_PAGE_NO;
        }
        if(ParameterUtil.isNull(pageSize)){
            pageSize = DictConstant.PRODUCT_PAGE_DEFAULT_PAGE_SIZE;
        }
        List<Product> products = productDao.selectPage(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
        // 获取总数据条数
        int total = productDao.selectCount();
        PageInfo<Product> pageProduct = new PageInfo<>(Integer.parseInt(pageNo),Integer.parseInt(pageSize),products,total);
        return pageProduct;
    }
}
